package com.kyrie.lib_sys.application.publisherApplys.service;

import com.kyrie.lib_sys.common.entity.PageResult;
import com.kyrie.lib_sys.common.pojo.dto.PublisherDTO;
import com.kyrie.lib_sys.common.pojo.dto.PublisherPageQueryDTO;
import com.kyrie.lib_sys.common.pojo.entity.Publisher;

import java.util.List;

public interface PublisherService {

    /**
     * 添加出版社
     * @param publisherDTO
     */
    void insert(PublisherDTO publisherDTO);



    /**
     * 查询出版社
     * @param publisherDTO
     * @return
     */
    Publisher queryPublisher(PublisherDTO publisherDTO);

    /**
     * 根据ID查询出版社
     * @param id
     * @return
     */
    PublisherDTO queryPublisherById(Long id);

    /**
     * 查询出版社列表
     * @param publisherPageQueryDTO
     * @return
     */
    PageResult queryList(PublisherPageQueryDTO publisherPageQueryDTO);

    /**
     * 分页查询出版社
     * @param publisherPageQueryDTO
     * @return
     */
    PageResult queryPage(PublisherPageQueryDTO publisherPageQueryDTO);

    /**
     * 条件查询出版社
     * @param publisherDTO
     * @return
     */
    PublisherDTO queryByCondition(PublisherDTO publisherDTO);

    /**
     *  修改出版社
     * @param publisherDTO
     */
    void update(PublisherDTO publisherDTO);

    /**
     * 删除出版社
     * @param id
     */
    void deleteById(Long id);


    /**
     * 批量删除出版社
     * @param ids
     */
    void deleteBatch(List<Long> ids);

    /**
     * 批量插入出版社
     * @param publisherDTOS
     */
    void insertBatch(List<PublisherDTO> publisherDTOS);
}
